home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / hardware / h550_driver / h550.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  4.0 KB  |  107 lines

  1. /*
  2.  * Copyright (C) 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17.  
  18. /*
  19.     File: H550.H
  20.     Project: HOSTESS 550 Device Driver for IRIX 5.1
  21.     Author: Rick McLeod (plagarized from Lori Slater's SCO Unix source)
  22.     Date: 8/11/93
  23.     Copyright (c) 1993 Silicon Graphics Computer Systems  
  24.             All Rights Reserved
  25.     Copyright (c) 1989-1990 COMTROL Corporation   All Rights Reserved
  26. */
  27.  
  28. #define N_ADAPTERS    4
  29. #define MAX_PORTS    8        /* max number of ports per adapter */
  30. #define N_PORTS        (N_ADAPTERS*MAX_PORTS)
  31.  
  32. /* Define 16550 registers ... */
  33. #define RBR    0        /* receiver buffer register (RO) */
  34. #define THR    0        /* transmitter holding register (WO) */
  35. #define IER    1        /* interrupt enable register */
  36. #define IIR    2        /* interrupt identification register (RO) */
  37. #define FCR    2        /* FIFO control register (WO) */
  38. #define LCR    3        /* line control register */
  39. #define MCR    4        /* modem control register */
  40. #define LSR    5        /* line status register */
  41. #define MSR    6        /* modem status register */
  42. #define POLL    7        /* mask/poll register */
  43. #define MASK    7        /* mask/poll register */
  44. #define DLL    0        /* divisor latch - least sig. byte */
  45. #define DLM    1        /* divisor latch - most sig. byte */
  46.  
  47. /* Define bits of interrupt enable register ... */
  48. #define ERBFI        0x01    /* received data available */
  49. #define ETBEI        0x02    /* tranmitter holding register empty */
  50. #define ELSI        0x04    /* receiver line status */
  51. #define EDSSI        0x08    /* modem status */
  52.  
  53. /* Define bits of line control register ... */
  54. #define WLS0        0x01    /* word length select bit 0 */
  55. #define WLS1        0x02    /* word length select bit 1 */
  56. #define STB        0x04    /* number of stop bits */
  57. #define PEN        0x08    /* parity enable */
  58. #define EPS        0x10    /* even parity select */
  59. #define BRK        0x40    /* set break */
  60. #define DLAB        0x80    /* divisor latch access bit */
  61.  
  62. /* Define bits of modem control register ... */
  63. #define DTR        0x01    /* data terminal ready */
  64. #define RTS        0x02    /* request to send */
  65. #define OUT2        0x08    /* enable adapter interrupts */
  66.  
  67. /* Define bits of line status register ... */
  68. #define DR        0x01    /* data ready */
  69. #define OE        0x02    /* overrun error */
  70. #define PE        0x04    /* parity error */
  71. #define FE        0x08    /* framing error */
  72. #define BI        0x10    /* break interrupt */
  73. #define THRE        0x20    /* transmit butter empty */
  74.  
  75. /* Define bits of modem status register ... */
  76. #define DCTS        0x01    /* delta clear to send */
  77. #define DDSR        0x02    /* delta data set ready */
  78. #define TERI        0x04    /* trailing edge ring indicator */
  79. #define DDCD        0x08    /* delta data carrier detect */
  80. #define CTS        0x10    /* clear to send */
  81. #define DSR        0x20    /* data set ready */
  82. #define RI        0x40    /* ring indicator */
  83. #define DCD        0x80    /* data carrier detect */
  84.  
  85. /* Define bits of FIFO Control register ... */
  86. #define    FIFOENB        0x01    /* Enable FIFO's */
  87. #define    RFIFO_RST    0x02    /* Reset Receive FIFO */
  88. #define TFIFO_RST    0x04    /* Reset Transmit FIFO */
  89.  
  90. /* Miscellaneous defines ... */
  91. #define TRIGGER        8    /* receive FIFO trigger level */
  92.  
  93. /* Define bits of Interrupt ID Register and the Interrupt types... */
  94. #define INTR_PEND    0x01    /* Interrupt Pending */
  95. #define MODEM_STAT    0x00    /* Modem Status Interrupt */
  96. #define THREI        0x02    /* Transmit Holding Register Empty Interrupt */
  97. #define RDATA_AVAIL    0x04    /* Receive Data Available Interrupt */
  98. #define RLINE_STAT    0x06    /* Receiver Line Status Interrupt */
  99. #define CHAR_TIME    0x0c    /* Character Timeout Interrupt */
  100.  
  101. /* some macros */
  102.  
  103. #define LOCK_PORT(dp)       spltty()
  104. #define UNLOCK_PORT(dp,s)   splx(s)
  105.  
  106.  
  107.